Enable ranges for GET and PUT; improves compatibility and reliability#2
Open
salfter wants to merge 7 commits into
Open
Enable ranges for GET and PUT; improves compatibility and reliability#2salfter wants to merge 7 commits into
salfter wants to merge 7 commits into
Conversation
) OPTIONS / was returning a "DAV: 2" header. This causes davfs2 to reject the attempt: /sbin/mount.davfs: mounting failed; the server does not support WebDAV Setting ignore_dav_header 1 in /etc/davfs2/davfs2.conf allows the mount to continue, but this shouldn't be necessary. Advertising Class 1 capability in addition to Class 2 fixes this problem, while not affecting compatibility with other clients (was still able to mount the device from Windows 10, for instance).
Author
|
This also appears to include the changes from PR #1, for some reason. |
|
Any progress with this merge? it would be super useful to support this. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I've been trying to get the ESPWebDAV working optimally with Linux. From my previous PR:
"davfs2 (http://savannah.nongnu.org/projects/davfs2) still doesn't want to write files. webdavfs (https://github.com/miquels/webdavfs) says upfront when you mount the device that since it's missing PUT range support, it will only mount read-only. cadaver (http://webdav.org/cadaver/) works flawlessly, but it's more like the old command-line FTP client than a network filrsystem implementation."
I now have webdavfs working pretty well with it. Partial requests are supported for both GET and PUT. webdavfs appears to write up to 128K at a time with PUT and read 64K or 128K at a time with GET. These "chunked" requests also seem to have made file transfers more reliable. I was having power-reliability issues with long file transfers (with the ESPWebDAV in the SD-card slot of a RRD full-graphic controller plugged into an SKR Pro 1.1), and still am if I use cadaver to move files around, but uploads and downloads alike are pretty reliable so far when the device is mounted with webdavfs.
Interoperability with Windows appears unaffected. (You have to refer to the device by its IP address, not its hostname; this appears to be a deficiency with Windows' WebDAV implementation.)